AutoHotKey(簡稱AHK)與AutoIt兩者都是很強勁的自動化腳本軟體,筆者拿AHK用來補足Access VBA本身的一些問題,透過把程式碼寫在資料檔內,需要呼叫時再寫入暫存使用的方式,來保存與呼叫AHK程式。
AHK : AutoHotkey
Function AHK(strConfigName As String, _
Optional strConfigType = "Config", _
Optional bnSilent As Boolean = True, _
Optional bnWaitOnReturn As Boolean = True, _
Optional windowStyle As Integer = 1)
'從設定檔中撈出AHK程式,寫入暫存後執行
'strConfigName 設定名稱
'strConfigType 設定的地方: "Config","ConfigCloud" , "ConfigLocal"
Dim strData As String
Dim strFile As String
strData = Application.Run(strConfigType, strConfigName, True)
strFile = Environ("TEMP") & "\TEMP_" & CleanString(strConfigName) & ".ahk"
WriteToUTF8 strData, strFile, False
RunCMD strFile, bnSilent, bnWaitOnReturn, windowStyle
End Function
測試程式:
Sub AHK_TEST()
Dim strConfigName As String
strConfigName = "AHK_Sleep"
ConfigSave strConfigName, "", "sleep,1000"
AHK (strConfigName)
End Sub
備註:其中保存與呼叫的方式,都是透過之前「Access VBA 的眉眉角角Day8:於VBA中的設定值存取方法」介紹的ConfigSave與Config方式來處理。
參考網址:
AutoIt
https://www.autoitscript.com/site/
AutoHotKey
https://autohotkey.com/